//import java.util.ArrayList;
//import java.util.List;
//
//public class O29 {
//    public int[] spiralOrder(int[][] matrix) {
//        if (matrix.length==0)
//            return new int[]{};
//        else if (matrix[0].length==0)
//            return new int[]{};
//        int mode = 0;
//        int i = 0,j = 0;
//        List<Integer> list = new ArrayList<>();
//        list.add(matrix[0][0]);
//        while ((i != matrix.length - 1 && matrix[i + 1][j] != 200) || (i != 0 && matrix[i - 1][j] != 200) || (j != 0 && matrix[i][j - 1] != 200) || (j != matrix[0].length - 1 && matrix[i][j + 1] != 200)) {
//            switch (mode) {
//                case 0: {
//                    while (matrix[i][j+1] < matrix[0].length && matrix[i][j+1] != 200){
//                        j++;
//                        list.add(matrix[i][j]);
//                    }
//                    mode = 1;
//                }
//                case 1: {
//                    while (matrix[i + 1][j] < matrix.length && matrix[i + 1][j] != 200) {
//                        i++;
//                        list.add(matrix[i][j]);
//                    }
//                    mode = 2;
//                }
//                case 2: {
//
//                }
//                case 3: {
//
//                }
//            }
//
//        }
//    }
//}
